home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import gobject
- gobject.threads_init()
- import pygst
- pygst.require('0.10')
- import gst
- import totem
- import gtk
- import gconf
- import time
- import os
- from contentview import ContentView
-
- class BBCViewer(totem.Plugin):
-
- def __init__(self):
- totem.Plugin.__init__(self)
- self.loaded_content = False
-
-
- def mapped(self, contentview):
- gst.log('mapped')
- if not self.loaded_content:
- self.view.load()
- self.loaded_content = True
-
-
-
- def activate(self, totem_object):
- self.gconf_client = gconf.client_get_default()
- self.totem = totem_object
- self.view = ContentView()
- self.view.connect('play-episode', self.playEpisode)
- vbox = gtk.VBox()
- scrollwin = gtk.ScrolledWindow()
- scrollwin.add(self.view)
- scrollwin.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
- scrollwin.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- vbox.pack_start(scrollwin, True, True)
- vbox.show_all()
- totem_object.add_sidebar_page('bbc', _('BBC'), vbox)
- self.view.connect('map', self.mapped)
- gst.log('activated')
-
-
- def deactivate(self, totem_object):
- totem_object.remove_sidebar_page('bbc')
- self.loaded_content = False
-
-
- def getConnectionSpeed(self):
- speed_map = [
- 14400,
- 19200,
- 28800,
- 33600,
- 34400,
- 56000,
- 112000,
- 256000,
- 384000,
- 512000,
- 1536000,
- 10752000]
- speed_enum = self.gconf_client.get_int('/apps/totem/connection_speed')
- if speed_enum >= 0 and speed_enum < len(speed_map):
- speed_kbps = speed_map[speed_enum] / 1000
- else:
- speed_kbps = 0
- gst.log('Configured connection speed #%d: %d kbit/s' % (speed_enum, speed_kbps))
- return speed_kbps
-
-
- def playEpisode(self, view, episode):
- gst.info('Playing episode ' + episode.title)
- mrl = episode.getUri(self.getConnectionSpeed())
- if mrl:
- gst.log('Playing uri ' + mrl)
- self.totem.action_set_mrl_and_play(mrl, None)
- else:
- gst.error('No uri for episode ' + episode.title)
-
-
-